import BaseEvent from "./base-event";

/**
 * 仪表板事件
 */
export default class DashboardEvent {

    //当前插入组件事件
    private static currentInsertComponentEvent = "currentInsertComponentEvent";

    //删除图层节点事件
    private static deleteLayerNodeEvent = "deleteLayerNodeEvent";

    //拖动图层节点事件
    private static dragLayerNodeEvent = "dragLayerNodeEvent";

    //添加图层组事件
    private static addLayerGroupEvent = "addLayerGroupEvent";

    //添加子图层组事件
    private static addSubLayerGroupEvent = "addSubLayerGroupEvent";

    //配置面板tab切换
    private static configPanelTabTaggleEvent = "configPanelTabTaggleEvent";

    //配置面板当前属性事件
    private static configPanelCurrentPropEvent = "configPanelCurrentPropEvent";

    //图层子节点选择事件
    private static layerChildrenNodeCheckedEvent = "layerChildrenNodeCheckedEvent";

    //图层上移事件
    private static layerUpEvent = "layerUpEvent";

    //图层下移事件
    private static layerDownEvent = "layerDownEvent";

    //图层置顶事件
    private static layerToTopEvent = "layerToTopEvent";

    //图层置底事件
    private static layerToBottomEvent = "layerToBottomEvent";

    //图层移动到指定位置事件
    private static layerMoveToIndexEvent = "layerMoveToIndexEvent";

    //图层复制
    private static layerCopyEvent = "layerCopyEvent";

    //激活当前图层
    private static activeCurrentLayerEvent = "activeCurrentLayerEvent";

    //图层重命名
    private static layerRenameEvent = "layerRenameEvent";





    /**
     * 获取当前插入组件
     * @returns 
     */
    static getCurrentInsertComponentEvent() {
        return BaseEvent.getEvent(DashboardEvent.currentInsertComponentEvent);
    }

    /**
     * 关闭当前插入组件
     */
    static removeCurrentInsertComponentEvent() {
        BaseEvent.removeEvent(DashboardEvent.currentInsertComponentEvent)
    }

    /**
    * 获取删除图层节点
    * @returns 
    */
    static getDeleteLayerNodeEvent() {
        return BaseEvent.getEvent(DashboardEvent.deleteLayerNodeEvent);
    }

    /**
     * 关闭删除图层节点
     */
    static removeDeleteLayerNodeEvent() {
        BaseEvent.removeEvent(DashboardEvent.deleteLayerNodeEvent)
    }

    /**
   * 获取添加图层组
   * @returns 
   */
    static getAddLayerGroupEvent() {
        return BaseEvent.getEvent(DashboardEvent.addLayerGroupEvent);
    }

    /**
     * 关闭添加图层组
     */
    static removeAddLayerGroupEvent() {
        BaseEvent.removeEvent(DashboardEvent.addLayerGroupEvent)
    }

    /**
  * 获取添加子图层组
  * @returns 
  */
    static getAddSubLayerGroupEvent() {
        return BaseEvent.getEvent(DashboardEvent.addSubLayerGroupEvent);
    }

    /**
     * 关闭添加子图层组
     */
    static removeAddSubLayerGroupEvent() {
        BaseEvent.removeEvent(DashboardEvent.addSubLayerGroupEvent)
    }

    /**
   * 获取添加图层节点
   * @returns 
   */
    static getDragLayerNodeEvent() {
        return BaseEvent.getEvent(DashboardEvent.dragLayerNodeEvent);
    }

    /**
     * 关闭添加图层节点
     */
    static removeDragLayerNodeEvent() {
        BaseEvent.removeEvent(DashboardEvent.dragLayerNodeEvent);
    }


    /**
   * 获取配置面板tab切换
   * @returns 
   */
    static getConfigPanelTabTaggleEvent() {
        return BaseEvent.getEvent(DashboardEvent.configPanelTabTaggleEvent);
    }

    /**
     * 关闭配置面板tab切换
     */
    static removeConfigPanelTabTaggleEvent() {
        BaseEvent.removeEvent(DashboardEvent.configPanelTabTaggleEvent);
    }


    /**
     * 获取配置面板当前属性事件
     * @returns 
     */
    static getConfigPanelCurrentPropEvent() {
        return BaseEvent.getEvent(DashboardEvent.configPanelCurrentPropEvent);
    }

    /**
     * 关闭配置面板当前属性事件
     */
    static removeConfigPanelCurrentPropEvent() {
        BaseEvent.removeEvent(DashboardEvent.configPanelCurrentPropEvent);
    }


    /**
     * 获取图层子节点选择事件
     * @returns 
     */
    static getLayerChildrenNodeCheckedEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerChildrenNodeCheckedEvent);
    }

    /**
     * 关闭图层子节点选择事件
     */
    static removeLayerChildrenNodeCheckedEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerChildrenNodeCheckedEvent);
    }

    /**
     * 获取图层上移事件
     * @returns 
     */
    static getLayerUpEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerUpEvent);
    }

    /**
     * 关闭图层上移事件
     */
    static removeLayerUpEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerUpEvent);
    }

    /**
     * 获取图层下移事件
     * @returns 
     */
    static getLayerDownEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerDownEvent);
    }

    /**
     * 关闭图层下移事件
     */
    static removeLayerDownEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerDownEvent);
    }


    /**
     * 获取图层置顶事件
     * @returns 
     */
    static getLayerToTopEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerToTopEvent);
    }

    /**
     * 关闭图层置顶事件
     */
    static removeLayerToTopEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerToTopEvent);
    }

    /**
     * 获取图层置底事件
     * @returns 
     */
    static getLayerToBottomEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerToBottomEvent);
    }

    /**
     * 关闭图层置底事件
     */
    static removeLayerToBottomEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerToBottomEvent);
    }

    /**
     * 获取图层移动到指定位置事件
     * @returns 
     */
    static getLayerMoveToIndexEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerMoveToIndexEvent);
    }

    /**
     * 关闭图层移动到指定位置事件
     */
    static removeLayerMoveToIndexEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerMoveToIndexEvent);
    }


    /**
     * 获取图层复制事件
     * @returns 
     */
    static getLayerCopyEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerCopyEvent);
    }

    /**
     * 关闭图层复制事件
     */
    static removeLayerCopyEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerCopyEvent);
    }


    /**
     * 获取激活当前图层
     * @returns 
     */
    static getActiveCurrentLayerEvent() {
        return BaseEvent.getEvent(DashboardEvent.activeCurrentLayerEvent);
    }

    /**
     * 关闭激活当前图层
     */
    static removeActiveCurrentLayerEvent() {
        BaseEvent.removeEvent(DashboardEvent.activeCurrentLayerEvent);
    }

    /**
     * 获取图层重命名
     * @returns 
     */
    static getLayerRenameEvent() {
        return BaseEvent.getEvent(DashboardEvent.layerRenameEvent);
    }

    /**
     * 关闭图层重命名
     */
    static removeLayerRenameEvent() {
        BaseEvent.removeEvent(DashboardEvent.layerRenameEvent);
    }





    /**
     * 关闭所有
     */
    static removeAll() {
        DashboardEvent.removeCurrentInsertComponentEvent();
        DashboardEvent.removeAddLayerGroupEvent();
        DashboardEvent.removeAddSubLayerGroupEvent();
        DashboardEvent.removeDeleteLayerNodeEvent();
        DashboardEvent.removeDragLayerNodeEvent();
        DashboardEvent.removeConfigPanelTabTaggleEvent();
        DashboardEvent.removeConfigPanelCurrentPropEvent();
        DashboardEvent.removeLayerChildrenNodeCheckedEvent();
        DashboardEvent.removeLayerUpEvent();
        DashboardEvent.removeLayerDownEvent();
        DashboardEvent.removeLayerToTopEvent();
        DashboardEvent.removeLayerToBottomEvent();
        DashboardEvent.removeLayerCopyEvent();
        DashboardEvent.removeLayerMoveToIndexEvent();
        DashboardEvent.removeActiveCurrentLayerEvent();
        DashboardEvent.removeLayerRenameEvent();
    }

}